package com.cskaoyan.javase.basic._4scanner;

import java.util.Scanner;

/**
 * 混用Scanner两种类型的方法会有问题,那怎么解决?
 *      1.可以使用不同的Scanner对象接收，这样肯定不存在冲突问题
 *          这种方法不好,明明一个对象完事,没有必要用两个
 *
 *      2.在接收int数据的后面加一个不接收数据的nextLine用来接收回车
 *          这也不好,有点笨笨的
 *
 *      3.用next()方法接收字符串，但是需要注意该方法以分隔符结束，不再是接收一行了
 *          这种方式也不好,因为没有办法接收两边的空格
 *
 *      以上四种都不推荐使用,更推荐:
 *      在使用Scanner键盘录入数据时,如果有混合录入基本数据类型和String类型数据的需求时
 *      建议永远使用nextLine方法,只使用一种类型的方法,就没有问题了.
 *      然后如果需要基本数据类型变量,可以用String转换.
 *      Java中提供了String转换成各种基本数据类型的方法(百度找,搜索引擎好用)
 *
 * @since 17:29
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo4 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个int整数:");
        String numStr = sc.nextLine();
        // 这里存在一个问题 String --> int ?
        int num = Integer.parseInt(numStr);
        System.out.println("请输入一个字符串:");
        String str = sc.nextLine();

        System.out.println(num);
        System.out.println(str);
    }
}
